home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
dev
/
amos
/
tgroove.lha
/
tgrooveSource.amos
/
tgrooveSource.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1980-02-14
|
4KB
|
122 lines
' This Rocks! the ultimate "TurboGroove Killer-BeatBox" !
'
' done by d.lenz (c) 1998 by Flux Entertainment
'
' click on the rotator to enable flashing
' the rest is self-Xplaining (esc ends)
'
' http://members.xoom.com/dl80/index.html
' mailto:dl80@gmx.de
'
Set Stack 20000
Dim TRACK(8)
Global Q,W,M,N,F,A$,ST,_TMP,TRACK()
Led Off
Screen Open 0,320,256,4,Lowres : Flash Off : Curs Off
Load "hd1:ownprogs/acidizer/acid.abk"
Load "hd1:ownprogs/acidizer/mono2.abk"
Amal 1,"A0,(1,4)(2,4)(3,4)(4,4)(3,4)(2,4)"
Channel 1 To Bob 1
Bob 1,400,80,1
Amal On
Load Iff "hd1:ownprogs/acidizer/mono.iff"
N=1 : F=18000 : C=3 : _TMP=100 : Ink 3
_ALL_THE_DETECT_AND_INIT_SHIT
Repeat
A$=Inkey$
Q=X Mouse : W=Y Mouse : M=Mouse Click
If M<>0 Then Gosub _CHK_CLICK
If A$<>"" Then Gosub _CH_SOUND
Locate 1,1 : Print Q,W
Until Key State(69)
_MACH_MA_ENDE_DU_SACK:
Fade 1
Wait 15
Edit
_CHK_CLICK:
If Q>154 and W>82 and Q<181 and W<101 Then Gosub _PLAYMIX
If Q>154 and W>132 and Q<181 and W<152 Then Sam Play C,N,F : TRACK(1)=N
If Q>186 and W>132 and Q<213 and W<152 Then Sam Play C,N,F : TRACK(2)=N
If Q>218 and W>132 and Q<245 and W<152 Then Sam Play C,N,F : TRACK(3)=N
If Q>250 and W>132 and Q<277 and W<152 Then Sam Play C,N,F : TRACK(4)=N
If Q>282 and W>132 and Q<309 and W<152 Then Sam Play C,N,F : TRACK(5)=N
If Q>314 and W>132 and Q<341 and W<152 Then Sam Play C,N,F : TRACK(6)=N
If Q>346 and W>132 and Q<373 and W<152 Then Sam Play C,N,F : TRACK(7)=N
If Q>378 and W>132 and Q<405 and W<152 Then Sam Play C,N,F : TRACK(8)=N
Return
_CH_SOUND:
If A$="1" Then N=1 : Locate 6,20 : Print "bassdrum "
If A$="2" Then N=2 : Locate 6,20 : Print "hihat "
If A$="3" Then N=3 : Locate 6,20 : Print "snaredrum "
If A$="4" Then N=4 : Locate 6,20 : Print "hiopen "
Return
_PLAYMIX:
Locate 6,21 : Print "playing..."
Do
For ST=1 To 8
If TRACK(ST)=0
Ink 3 : Box 24+NP,88 To 55+NP,111
Wait 4
DMY=0
Repeat
MK=Mouse Key
If MK>0 and X Mouse>186 and Y Mouse>82 and X Mouse<214 and Y Mouse<102
Goto _STOP
Else If MK>0 and X Mouse>402 and Y Mouse>84 and X Mouse<425 and Y Mouse<107
Shift Up 1,3,4,1
Else If Key State(69)
Goto _MACH_MA_ENDE_DU_SACK
End If
Inc DMY
Until DMY>_TMP
Ink 0 : Box 24+NP,88 To 55+NP,111
Else
Ink 3 : Box 24+NP,88 To 55+NP,111
Sam Play C,TRACK(ST),F
Gosub _VU
DMY=0
Repeat
MK=Mouse Key
If MK>0 and X Mouse>186 and Y Mouse>82 and X Mouse<214 and Y Mouse<102
Goto _STOP
Else If MK>0 and X Mouse>402 and Y Mouse>84 and X Mouse<425 and Y Mouse<107
Shift Up 1,3,4,1
Else If Key State(69)
Goto _MACH_MA_ENDE_DU_SACK
End If
Inc DMY
Until DMY>_TMP
Ink 0 : Box 24+NP,88 To 55+NP,111
End If
NP=NP+32
Locate 1,1 : Print X Mouse,Y Mouse
Next
NP=0
Loop
_STOP:
Ink 0 : Box 24+NP,88 To 55+NP,111
NP=0
Locate 6,21 : Print "stopped..."
Return
Rem
Procedure _ALL_THE_DETECT_AND_INIT_SHIT
Locate 6,20 : Print "bassdrum "
Locate 6,21 : Print "stopped..."
Locate 2,3 : Print Extension_12_0628 : Locate 0,3 : Print "680" : Locate 5,3 : Print "Cpu"
If Extension_12_0636 >0 Then Locate 8,3 : Print " +FPU"
If Extension_12_0628 =40 Then _TMP=600
If Extension_12_0628 =30 Then _TMP=300
If Extension_12_0628 <30 Then _TMP=100
Box 88,43 To 178,57
End Proc
_VU:
' max: 176
' min: 90
For BLABLA=176 To 91 Step -15
Ink 3 : Bar 90,45 To BLABLA,55
Wait Vbl
Ink 0 : Bar 90,45 To BLABLA,55
Next BLABLA
Return
Rem 402 84 425 107
Rem shift up 1,3,4,1